#include <mqueue.h>
#include <unistd.h>
#include <stdio.h>

int main(int argc, char const *argv[])
{
    struct mq_attr attr;
    attr.mq_maxmsg=10;
    attr.mq_msgsize=128;

    //创建队列 
    mqd_t mq = mq_open("/mq_test", O_RDWR | O_CREAT, 0666, &attr);
    if(mq == -1)
    {
        perror("mq_open"); //追加一些错误原因
        return -1;
    }
    // 发送消息
    mq_send(mq, "hello world", 11, 0);

    // 接收消息 
    char buf[128];
    ssize_t len=  mq_receive(mq, buf, 128, 0);
    printf("receive: %.*s\n", len,buf);

    // 关闭队列
    mq_close(mq);

    // 删除队列
   // mq_unlink("/mq_test");
    return 0;
}
